

function draw_grid(ctx:CanvasRenderingContext2D,size:number[],zoom:number){
    ctx.save();
    ctx.beginPath();

    ctx.lineWidth = 1.0;
    ctx.strokeStyle = 'dimgray';
    for (let x = 0; x < size[0]; x += zoom) {
        ctx.moveTo(zoom/2 + x,0);
        ctx.lineTo(zoom/2 + x,1000);
    }

    for (let y = 0; y < size[1]; y += zoom) {
        ctx.moveTo(0,   y);
        ctx.lineTo(2000,y);
    }

    ctx.stroke();
    ctx.restore();
}

function draw_auxiliary_line(ctx:CanvasRenderingContext2D,x:number,y:number){
    ctx.save();
    ctx.beginPath();

    ctx.lineWidth = 1.0;
    ctx.strokeStyle = 'red';

    ctx.moveTo(0,y);
    ctx.lineTo(2000,y);

    ctx.moveTo(x,0);
    ctx.lineTo(x,2000);


    ctx.stroke();
    ctx.restore();
}

function draw_pin_set(ctx:CanvasRenderingContext2D,x:number,y:number,zoom:number){
    ctx.save();
    ctx.beginPath();

    ctx.lineWidth = 2.0;
    ctx.strokeStyle = 'aliceblue';

    ctx.arc(x,y,zoom,0,2*Math.PI);

    ctx.stroke();
    ctx.restore();
}

